/**
 * 用户登录流程测试示例
 * 展示如何使用defineAITest和AI指令解析功能
 */

import { defineAITest } from '../core/define-test';
import { generateActionsFromPrompt } from '../ai/langchain-parser';

// 定义测试场景
export async function setupLoginTest() {
  // 定义测试用例
  const testId = await defineAITest({
    scenario: '用户登录流程验证',
    prompt: '模拟新用户通过邮箱注册并登录，检查成功跳转至个人中心',
    baseUrl: process.env.DEFAULT_BASE_URL || 'http://localhost:3000',
    // 动态生成测试动作
    actions: await generateActionsFromPrompt(`
      1. 访问注册页面
      2. 在邮箱输入框中输入随机邮箱
      3. 在密码输入框中输入测试密码
      4. 点击注册按钮
      5. 等待页面跳转
      6. 验证URL包含/dashboard
      7. 检查欢迎消息是否显示
    `, 'https://example.com'),
    timeout: 10000, // 设置超时时间为10秒
    params: {
      testPassword: 'Test@123456',
      expectedWelcomeText: '欢迎回来'
    }
  });

  return testId;
}

// 运行测试
setupLoginTest().then(testId => {
  console.log(`登录测试用例已创建，测试ID: ${testId}`);
}).catch(error => {
  console.error('创建测试用例失败:', error);
});